Apache™ Subversion® (SVN) ist ein freies Open-Source-Versionskontrollsystem, das nach dem Client-Server-Modell arbeitet.
Ein SVN-Server ist üblicherweise auf einem Zentralrechner installiert und verwaltet die Daten der SVN-Projektarchivs in einer Datenbank. Ein SVN-Projektarchiv ist letztendlich ein Verzeichnisbaum, das Ihre CODESYS-Projekte enthält. Der SVN-Server stellt einem Client den Zugang zu den gespeicherten Daten und damit den CODESYS-Projekten zur Verfügung.
Auf ihrem Arbeitsplatzrechner, der als Client dient, liegen die Daten Ihres Projektes als Arbeitskopie (Working Copy). Wenn Sie ihr Projekt öffnen, stellt CODESYS SVN den SVN-Status aller Objekte im Objektbaum dar und stellt SVN-Befehle zur Verfügung. Damit können Sie Ihr Projekt in CODESYS unter Versionskontrolle weiterentwickeln.
Apache™ Subversion® (SVN) stellt Ihnen eine freie Dokumentation zur Verfügung. Empfehlenswert dabei ist die umfassende Dokumentation im SVN-Buch „red bean“. Außerdem gibt es zum Thema Bücher im Buchhandel. Allerdings sollten Sie darauf achten, dass das Buch auch der aktuelle SVN-Version entspricht.
Siehe auch
Versionskontrolle mit Subversion: http://svnbook.red-bean.com/en/1.8/
Server relevante Kapitel:
Offizielle FAQ: http://subversion.apache.org/faq.html
(Als Ergänzung zu empfehlen)
"Subversion Users"-Mailingliste http://subversion.apache.org/mailing-lists.html
Englische Mailingliste mit umfangreichen Archiv. (Bitte vor dem Senden einer Anfrage dort erst suchen!)
IRC Chatkanal #svn http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients
Liste weiterer SVN-Clients auf dem FreeNode-Netzwerk
Einige Firmen bieten kommerziellen Support für SVN an. Die folgende Liste hat keinen Anspruch auf Vollständigkeit. Sie drückt in keiner Form eine Empfehlung oder gar eine Qualitätsgarantie durch 3S-Smart Software Solutions GmbH aus.
http://www.elegosoft.com/ - Deutsche Firma.
Es gibt derzeit mehrere Varianten einen SVN-Server zu betreiben. Dabei kann ein SVN-Projektarchiv normalerweise problemlos über mehrere der folgenden Varianten parallel freigegeben werden. Außerdem kann eine Server-Installation mehrere SVN-Projektarchive verwalten.
Svnserve
Das ist die einfachste Variante einen SVN-Server aufzusetzen. Der Zugriff erfolgt über das sehr effiziente svn://-Protokoll. Es wird üblicherweise für firmeninterne Netzwerke oder in Verbindung mit VPN benutzt.
Apache + mod_dav_svn
Das ist die SVN integriert in den Apache Webserver. Der Zugriff erfolgt über das "WWW-Protokoll" http:// oder dessen verschlüsselte Variante https://. Dieser Installationsweg wird häufig für öffentliche oder übers Internet ansprechbare SVN-Server benutzt.
Svnserve + ssh
Diese Variante nutzt die von Linux/Unix bekannte "Secure Shell", um Zugriffskontrolle und Verschlüsselung zu implementieren. Das bietet sich vor allem an, wenn auch die Clients unter Linux/Unix laufen. Allerdings hat es nur eingeschränkte Möglichkeiten zur Zugriffsregelung innerhalb eines SVN-Projektarchivs.
Direkter Zugriff auf ein SVN-Projektarchiv über das file://-Protokoll.
Diese Variante ist nur für Testzwecke und für den administrativen Zugriff vorgesehen.
Hinweis: Es wird dringend davon abgeraten diese Variante mittels Netzwerkfreigaben für den gemeinsamen Zugriff zu verwenden.
Siehe auch
Konfigurationsproblem SVN-Server und CODESYS SVN
Die aktuelle Release von CODESYS SVN hat Probleme in einigen gemischten IPv4/IPv6-Umgebungen. Das Problem tritt auf, wenn der Hostname des SVN-Projektarchiv-Servers erfolgreich auf die IPv4- und IPv6-Adresse aufgelöst wird, jedoch der SVN-Server selber (svnserve oder apache mod_svn) nur Anfragen über IPV4 akzeptiert. Die Folge ist, dass einige auf das SVN-Projektarchiv zugreifende Dialoge ungewöhnlich langsam sind. Das betrifft beispielsweise den Dialog SVN-Projektarchiv-Browser', den Dialog Auschecken und den Dialog SVN wechseln zu.
Die beste Lösung für das Problem ist den Server neu zu konfigurieren, so dass er auch Anfragen über IPv6 akzeptiert. Eine andere Möglichkeit ist, auf das SVN-Projektarchiv über die IPv4-Adresse des Servers zuzugreifen und IPv6 am Clientrechner auszuschalten. Oder Sie richten einen alternativen Hostnamen ein, der nur die IPv4-Adresse des Servers auflöst.
Siehe auch
Server installieren und konfigurieren
Hinweis
Es ist ratsam, einen produktiv genutzten SVN-Server als Teil der IT-Infrastruktur von fachkundigen Personen betreuen und warten zu lassen. Stellen Sie sicher, dass eine ausfallsichere und für den Serverbetrieb geeignete Hardware verwendet wird. Aktualisieren Sie regelmäßig die installierte Software und sichern den Server gegen Zugriff von außen ab. Sorgen Sie für eine funktionierende Datensicherung.
Für CODESYS SVN als SVN-Client ist es unerheblich, auf welchem Betriebssystem der Server läuft.
Wählen Sie bei einer Neuinstallation des SVN-Servers eine aktuelle Version, wie die Version 1.9.x. Bei einem bestehenden Server der Version 1.8 sollten keine Probleme auftreten. Vermeiden Sie Serverversionen ab 1.7.x oder älter. Es ist ratsam diese zu aktualisieren, da ab dieser Version seitens der SVN-Entwickler kein Support mehr besteht.
Für Windows-Server laden Sie beispielsweise die Installationspakete von den Internetseiten von "Apache.org" oder "VisualSVN.com" herunter. Bei "Apache.org" bringen die aktuellen Versionen des grafischen TortoiseSVN-Clients Optionen zum Installieren der Kommandozeilen-Tools inklusive "svnserve" mit. Für Linux-Server sind üblicherweise SVN-Pakete von der Distribution erhältlich. Das ist möglicherweise der bequemere Weg.
Siehe auch
Server-Client-Verbindung durch Authentifizierung und Zertifikat sichern
Sie können, um nicht die Verbindung zum SVN-Server über ein unsicheres Netzwerk aufzubauen, eine verschlüsselte Übertragung verwenden. Die Verschlüsselung kann über standardisierte Verfahren wie SSL oder SSH erfolgen. Der Server muss dazu vom Administrator entsprechend eingerichtet werden.
Am Server authentisieren
Sie können sich am Server durch Bestätigen des Server-Zertifikats authentisieren.
Client authentifizieren
Sie können die Client-Authentifizierung (Berechtigungsprüfung) durchführen:
durch ein Client-Zertifikat
mit Passphrase
mit Angabe von Benutzername und Passwort
Siehe auch